package com.francesc.bo.borsa.business;

import java.util.Date;

import com.francesc.bo.borsa.io.IoActions;
import com.francesc.bo.borsa.model.Moviment;
import com.francesc.bo.borsa.model.Valor;
import com.francesc.bo.borsa.model.mestre.TipusMoviment;

public class CompraVenda {

	private IoActions ioActions;

	public CompraVenda(IoActions ioActions) {
		this.ioActions = ioActions;
	}

	private void saveMoviment(Moviment moviment) {
		if (moviment.getData() == null) {
			moviment.setData(new Date());
		}
		ioActions.saveMoviment(moviment);
	}

	public void compra(Valor valor, Integer numAccions, Double ppa, Date data) {
		Moviment moviment = new Moviment();

		moviment.setValor(valor);
		moviment.setNumAccions(numAccions);
		moviment.setPpa(ppa);
		moviment.setData(data);
		moviment.setTipusMoviment(TipusMoviment.COMPRA);
		saveMoviment(moviment);
	}

	public void venda(Valor valor, Integer numAccions, Double ppa, Date data) {
		Moviment moviment = new Moviment();

		moviment.setValor(valor);
		moviment.setNumAccions(numAccions);
		moviment.setPpa(ppa);
		moviment.setData(data);
		moviment.setTipusMoviment(TipusMoviment.VENDA);
		saveMoviment(moviment);

	}
}
